<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <style>
    .descendants *
    {
      display: block;
      border: 2px solid lightgrey;
      color: lightgrey;
      padding: 5px;
      margin: 15px;
    }
    .ancestors *
    {
      display: block;
      border: 2px solid lightgrey;
      color: lightgrey;
      padding: 5px;
      margin: 15px;
    }
  </style>
  <script src="jquery-3.7.1.min.js">
  </script>
  <script>
    $(document).ready(function(){
      $("div").find("span").css({"color":"red","border":"2px solid red"});
      $("p").children("p").css({"color":"red","border":"2px solid yellow"});
      $("div").siblings("h2").css({"color":"red","border":"2px solid green"});
      $("span").parentsUntil("div").css({"color":"red","border":"2px solid blue"});
    });
  </script>
</head>
<body class="ancestors"> body (曾曾祖父元素)
<div style="width:500px;">div (曾祖父元素)
  <ul>ul (祖父元素)
    <li>li (父元素)
      <span>span</span>
    </li>
  </ul>
</div>
<h2>h2(同胞元素)</h2>
<div class="descendants" style="width:500px;">div (当前元素)
  <p>p (儿子元素)
    <span>span (孙子元素)</span>
  </p>
  <p>p (儿子元素)
    <span>span (孙子元素)</span>
  </p>
</div>
</body>

</html>